<!DOCTYPE html><html lang="en" data-critters-container><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/images/wztb.ico"><script>const prefersDark=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,colorSchemeSetting=localStorage.getItem("vueuse-color-scheme")||"auto";("dark"===colorSchemeSetting||prefersDark&&"light"!==colorSchemeSetting)&&document.documentElement.classList.toggle("dark",!0)</script><script>const locale=localStorage.getItem("valaxy-locale")||"zh-CN";document.documentElement.setAttribute("lang",locale)</script><script type="module" async crossorigin src="/assets/app-ct5iBjs5.js"></script><style>@charset "UTF-8";.links-of-author{display:flex;flex-wrap:wrap;justify-content:center}.links-of-author .icon{width:1.5rem;height:1.5rem}.links-of-author-item{line-height:1;font-size:.9rem}.site-nav{display:flex;justify-content:center;overflow:hidden;line-height:1.5;white-space:nowrap;text-align:center;margin-top:1rem}.site-link-item{display:flex;padding:0 15px;align-items:center;border-left:1px solid var(--va-c-gray);flex-direction:column;color:var(--va-c-text)}.site-link-item:first-child,.site-link-item:last-child{line-height:1;padding:0}.site-link-item:first-child{border-left:none;border-right:1px solid var(--va-c-gray)}.site-link-item:last-child{border-left:1px solid var(--va-c-gray)}.site-link-item:nth-child(2){border:none}.site-link-item .count{color:var(--va-c-text);font-family:var(--va-font-sans);display:block;text-align:center;font-size:1rem}.site-link-item .icon{width:1.5rem;height:1.5rem}.site-link-item .icon:hover{color:var(--va-c-primary-light)}.site-author-avatar{display:inline-block;line-height:0;position:relative}.site-author-avatar img{height:96px;width:96px;max-width:100%;margin:0;padding:4px;background-color:#fff;box-shadow:0 0 10px #0003;transition:.4s}.site-author-avatar img:hover{box-shadow:0 0 30px rgba(var(--va-c-primary-rgb),.2)}.site-author-status{position:absolute;height:1.8rem;width:1.8rem;bottom:0;right:0;line-height:1.8rem;border-radius:50%;box-shadow:0 1px 2px #0003;background-color:var(--va-c-bg-light);border:1px solid rgba(255,255,255,.1)}.site-name{color:var(--va-c-text);font-family:var(--va-font-serif);font-weight:900}.site-subtitle{color:var(--va-c-gray);display:block}.site-description{color:var(--va-c-text);font-size:.8rem}.sidebar{width:calc(100vw - 64px);max-width:var(--va-sidebar-width);background-image:var(--yun-sidebar-bg-img);background-position:bottom 1rem center;transform:translate(-100%);transition:box-shadow var(--va-transition-duration),background-color var(--va-transition-duration),opacity .25s,transform var(--va-transition-duration) cubic-bezier(.19,1,.22,1)!important}.back-to-top{position:fixed;right:-1.5rem;bottom:1rem;z-index:var(--yun-z-go-up-btn);opacity:0;pointer-events:none;color:var(--va-c-primary);transform:translate(0) rotate(270deg);transition:transform var(--va-transition-duration),opacity var(--va-transition-duration-fast)!important}.progress-circle{transition:.3s stroke-dashoffset;transform:rotate(-90deg);transform-origin:50% 50%}.progress-circle-container{position:absolute}.spinner[data-v-f73920ce]{width:60px;height:60px;border:1px solid var(--va-c-primary);margin:100px auto;animation:rotateplane-f73920ce 1.2s infinite ease-in-out}@keyframes rotateplane-f73920ce{0%{transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}to{transform:perspective(120px) rotateX(-180deg) rotateY(-180deg)}}.yun-search-btn{position:fixed;top:.6rem;right:.8rem;color:var(--va-c-primary);z-index:var(--yun-z-search-btn)}.yun-bg{position:fixed;width:100%;height:100%;z-index:-1;background-image:var(--yun-bg-img);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;animation-name:bg-fade-in;animation-duration:2s;opacity:var(--yun-bg-img-opacity,1)}@supports (-webkit-touch-callout:none){.yun-bg{background-attachment:scroll}}@keyframes bg-fade-in{0%{opacity:0}to{opacity:var(--yun-bg-img-opacity,1)}}canvas.fireworks{position:fixed;left:0;top:0;z-index:1;pointer-events:none}*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}h1,h2,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}strong{font-weight:bolder}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}button{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button{text-transform:none}[type=button],button{-webkit-appearance:button;background-image:none}blockquote,figure,h1,h2,h4,hr,p,pre{margin:0}ol,ul{list-style:none;margin:0;padding:0}button{cursor:pointer}canvas,img,svg{display:block;vertical-align:middle}img{max-width:100%;height:auto}html{-webkit-tap-highlight-color:transparent;font-family:var(--va-font-sans)}a{color:var(--va-c-link);font-weight:500}*{outline:0}hr{margin:1rem}button{background-color:transparent}#app,body,html{margin:0;padding:0;line-height:2}body{background-color:var(--va-c-bg)}a{cursor:pointer}@media screen and (max-width:640px){.markdown-body div[class*=language-]{margin:0 var(--va-code-mobile-margin-x,-1rem)}}@media (width >= 640px){.markdown-body div[class*=language-]{border-radius:6px;margin:16px 0}}.markdown-body code{font-size:.85em}.markdown-body div[class*=language-]{overflow:auto hidden;position:relative;background-color:var(--va-code-block-bg)}.markdown-body [class*=language-] code,.markdown-body [class*=language-] pre{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}.markdown-body [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:0 0;overflow-x:auto}.markdown-body [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--va-code-line-height);font-size:var(--va-code-font-size);color:var(--va-code-block-color);transition:color .5s}.markdown-body [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--va-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--va-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--va-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.markdown-body [class*=language-]:hover>button.copy,.markdown-body [class*=language-]>button.copy:focus{opacity:1}.markdown-body [class*=language-]>button.copy:hover{border-color:var(--va-code-copy-code-hover-border-color);background-color:var(--va-code-copy-code-hover-bg)}.markdown-body [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--va-code-lang-color);transition:color .4s,opacity .4s}.markdown-body [class*=language-]:hover>button.copy+span.lang,.markdown-body [class*=language-]>button.copy:focus+span.lang{opacity:0}.markdown-body [class*=language-]>button.collapse{display:none;position:absolute;z-index:10;bottom:0;left:0;width:100%;height:24px;opacity:1;cursor:pointer;background-image:linear-gradient(-180deg,rgba(0,0,0,0) 0,var(--va-c-bg-dark) 100%)}.markdown-body [class*=language-]>button.collapse:before{display:block;content:"";width:100%;height:100%;background-image:var(--va-icon-collapse);background-position:50%;background-size:16px;background-repeat:no-repeat}.vt-hamburger{display:flex;justify-content:center;align-items:center}.vt-hamburger:hover .vt-hamburger-top{transform:translate(-5.5px)}.vt-hamburger:hover .vt-hamburger-middle{transform:translate(0)}.vt-hamburger:hover .vt-hamburger-bottom{transform:translate(-11px)}.vt-hamburger-container{position:relative;width:22px;height:20px;overflow:hidden}.vt-hamburger-bottom,.vt-hamburger-middle,.vt-hamburger-top{left:0;position:absolute;width:22px;height:2px;background-color:var(--va-c-primary);transition:top .25s,background-color .5s,transform .25s}.vt-hamburger-top{top:0;transform:translate(0)}.vt-hamburger-middle{top:9px;transform:translate(-11px)}.vt-hamburger-bottom{top:18px;transform:translate(-5.5px)}.markdown-body h4{position:relative;font-weight:600;outline:0}.markdown-body figure{text-align:center}.markdown-body .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.markdown-body .header-anchor:before{content:var(--va-header-anchor-symbol, "#")}.markdown-body .header-anchor:before:hover{text-decoration:none}.markdown-body h4 .header-anchor:focus,.markdown-body h4:hover .header-anchor{opacity:1}:root{--va-c-border:#c2c2c4;--va-c-divider:#e2e2e3;--va-c-gutter:#e2e2e3}:root{--va-c-gray-1:#dddde3;--va-c-gray-2:#e4e4e9;--va-c-gray-3:#ebebef;--va-c-gray-soft:rgba(142, 150, 170, .14);--va-c-indigo-1:#3451b2;--va-c-indigo-2:#3a5ccc;--va-c-indigo-3:#5672cd;--va-c-indigo-soft:rgba(100, 108, 255, .14);--va-c-green-1:#18794e;--va-c-green-2:#299764;--va-c-green-3:#30a46c;--va-c-green-soft:rgba(16, 185, 129, .14);--va-c-yellow-1:#915930;--va-c-yellow-2:#946300;--va-c-yellow-3:#9f6a00;--va-c-yellow-soft:rgba(234, 179, 8, .14);--va-c-red-1:#b8272c;--va-c-red-2:#d5393e;--va-c-red-3:#e0575b;--va-c-red-soft:rgba(244, 63, 94, .14);--va-c-sponsor:#db2777}:root{--va-c-default-1:var(--va-c-gray-1);--va-c-default-2:var(--va-c-gray-2);--va-c-default-3:var(--va-c-gray-3);--va-c-default-soft:var(--va-c-gray-soft);--va-c-brand-1:var(--va-c-indigo-1);--va-c-brand-2:var(--va-c-indigo-2);--va-c-brand-3:var(--va-c-indigo-3);--va-c-brand-soft:var(--va-c-indigo-soft);--va-c-brand:var(--va-c-brand-1);--va-c-tip-1:var(--va-c-brand-1);--va-c-tip-2:var(--va-c-brand-2);--va-c-tip-3:var(--va-c-brand-3);--va-c-tip-soft:var(--va-c-brand-soft);--va-c-warning-1:var(--va-c-yellow-1);--va-c-warning-2:var(--va-c-yellow-2);--va-c-warning-3:var(--va-c-yellow-3);--va-c-warning-soft:var(--va-c-yellow-soft);--va-c-danger-1:var(--va-c-red-1);--va-c-danger-2:var(--va-c-red-2);--va-c-danger-3:var(--va-c-red-3);--va-c-danger-soft:var(--va-c-red-soft)}:root{--va-aside-width:256px;--va-sidebar-width:300px;--va-border-width:1px;--va-font-serif:"Noto Serif SC",DM Serif Display,STZhongsong,STKaiti,KaiTi,Roboto,serif;--va-font-sans:DM Sans,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--va-font-mono:DM Mono,Menlo,Monaco,Consolas,"Courier New",monospace;--va-transition-duration-fast:.2s;--va-transition-duration:.4s;--va-transition-duration-slow:.6s;--va-transition:all var(--va-transition-duration-fast) ease-in-out}:root{--va-c-white:#fff;--va-c-black:#1a1a1a;--va-c-gray:#8e8e8e;--va-c-danger:#db2828;--va-c-warning:#f2711c;--va-c-text-light-1:#213547;--va-c-text-light-2:rgba(60, 60, 60, .7);--va-c-text-light-3:rgba(60, 60, 60, .33);--va-c-text-light-4:rgba(60, 60, 60, .18);--va-c-text-dark-1:rgba(255, 255, 255, .87);--va-c-text-dark-2:rgba(235, 235, 235, .6);--va-c-text-dark-3:rgba(235, 235, 235, .38);--va-c-text-dark-4:rgba(235, 235, 235, .18);--va-c-primary-light:#a9c4f5;--va-c-primary-lighter:#edf3fd;--va-c-primary-dark:#4d85ea;--va-c-primary:#6495ED}:root{color-scheme:light;--va-c-brand:#6495ED;--va-border-color:#222;--va-c-bg:white;--va-c-bg-light:white;--va-c-bg-dark:#fafafa;--va-c-bg-opacity:rgba(255, 255, 255, .8);--va-c-bg-soft:#f9f9f9;--va-c-bg-alt:#f9f9f9;--va-c-bg-mute:#f1f1f1;--va-c-text:#333;--va-c-text-light:#555;--va-c-text-lighter:#666;--va-c-text-dark:#111;--va-c-primary-rgb:100,149,237;--va-c-link:var(--va-c-primary-dark)}:root{--va-c-text-1:rgba(60, 60, 67);--va-c-text-2:rgba(60, 60, 67, .78);--va-c-text-3:rgba(60, 60, 67, .56)}:root{--va-code-line-height:1.7;--va-code-font-size:.875em;--va-code-block-color:var(--va-c-text-2);--va-code-block-bg:var(--va-c-bg-alt);--va-code-block-divider-color:var(--va-c-gutter);--va-code-lang-color:var(--va-c-text-3);--va-code-line-highlight-color:var(--va-c-default-soft);--va-code-line-number-color:var(--va-c-text-3);--va-code-line-diff-add-color:var(--va-c-green-soft);--va-code-line-diff-add-symbol-color:var(--va-c-green-1);--va-code-line-diff-remove-color:var(--va-c-red-soft);--va-code-line-diff-remove-symbol-color:var(--va-c-red-1);--va-code-line-warning-color:var(--va-c-yellow-soft);--va-code-line-error-color:var(--va-c-red-soft);--va-code-copy-code-border-color:var(--va-c-divider);--va-code-copy-code-bg:var(--va-c-bg-soft);--va-code-copy-code-hover-border-color:var(--va-c-divider);--va-code-copy-code-hover-bg:var(--va-c-bg);--va-code-copy-code-active-text:var(--va-c-text-2);--va-code-copy-copied-text-content:"Copied";--va-code-tab-divider:var(--va-code-block-divider-color);--va-code-tab-text-color:var(--va-c-text-2);--va-code-tab-bg:var(--va-code-block-bg);--va-code-tab-hover-text-color:var(--va-c-text-1);--va-code-tab-active-text-color:var(--va-c-text-1);--va-code-tab-active-bar-color:var(--va-c-brand-1)}:root{--va-icon-copy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--va-icon-copied:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' class='h-6 w-6' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E");--va-icon-collapse:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32' stroke='rgba(128,128,128,1)' viewBox='0%200%2024%2024'%3E%3Cpath%20fill='currentColor'%20d='m12%2016.175l3.9-3.875q.275-.275.688-.288t.712.288q.275.275.275.7t-.275.7l-4.6%204.6q-.15.15-.325.213t-.375.062q-.2%200-.375-.063T11.3%2018.3l-4.6-4.6q-.275-.275-.288-.687T6.7%2012.3q.275-.275.7-.275t.7.275l3.9%203.875Zm0-6L15.9%206.3q.275-.275.688-.287t.712.287q.275.275.275.7t-.275.7l-4.6%204.6q-.15.15-.325.213t-.375.062q-.2%200-.375-.062T11.3%2012.3L6.7%207.7q-.275-.275-.288-.688T6.7%206.3q.275-.275.7-.275t.7.275l3.9%203.875Z'/%3E%3C/svg%3E")}:root{--va-header-anchor-symbol:"#"}.post-category{color:var(--va-c-text)}.post-tag{white-space:nowrap;color:var(--yun-tag-color)}.post-tag:hover{color:var(--va-c-primary)}html{overflow-y:scroll}.yun-main{transition:padding-left var(--va-transition-duration)}:root{--smc-font-sans:Raleway,-apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif;--smc-font-serif:"Songti SC","Noto Serif SC",STZhongsong,STKaiti,KaiTi,Roboto,serif;--smc-font-mono:Menlo,Monaco,Consolas,"Courier New",monospace}:root{--smc-c-primary-light:#bfd3f8;--smc-c-primary-lighter:white;--smc-c-primary:#6495ED;--smc-theme-name:yun;--smc-line-height:1.8;--smc-c-primary-rgb:100,149,237;--smc-c-text:#24292e;--smc-c-text-light:#555;--smc-c-text-lighter:#666;--smc-header-bottom-color:#eaecef;--smc-border-color:var(--smc-c-primary-light);--smc-code-bg-color:#f6f8fa;--smc-link-color:#3676e8}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background:var(--smc-bg-color);color:var(--smc-c-text);font-family:var(--smc-font-sans);font-size:1rem;line-height:var(--smc-line-height);overflow-wrap:break-word}.markdown-body *{box-sizing:border-box}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body hr{background-color:var(--smc-c-primary,#333);height:2px;margin:1.5rem 0}.markdown-body blockquote{margin:1rem 0;padding:0 1rem;border-left:.25em solid var(--smc-border-color)}.markdown-body code,.markdown-body pre{font-family:Source Code Pro,Consolas,Monaco,SFMono-Regular,Ubuntu Mono,Menlo,monospace}.markdown-body code{padding:3px 6px;font-size:.85rem;color:var(--smc-c-text-light);background:var(--smc-code-bg-color);border-radius:3px}.markdown-body pre{margin-top:0;margin-bottom:0;overflow-wrap:normal;padding:1rem;overflow:auto;background-color:var(--smc-code-bg-color);border-radius:3px}.markdown-body pre>code{font-size:.85rem;white-space:pre}.markdown-body pre code{display:block;padding:0;margin:0;overflow:visible;line-height:inherit;word-break:normal;background-color:transparent;border:0}.markdown-body img{display:block;margin:1rem auto;max-width:92%;max-height:600px;border-radius:.2rem;transition:.4s;--tw-shadow:0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.markdown-body img:hover{--tw-shadow:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.markdown-body img:before{content:"「 LOADING ERROR 」"}@media screen and (min-width:1600px){.markdown-body img{max-width:800px}}.markdown-body a{color:var(--smc-c-primary);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease-in-out}.markdown-body a:hover{color:var(--smc-link-color);border-bottom:1px solid var(--smc-link-color)}.markdown-body ol{padding-left:2em}.markdown-body li{overflow-wrap:break-all;margin-top:.25em}.markdown-body p{margin-top:1rem;margin-bottom:1rem;overflow-x:auto;overflow-y:hidden}.markdown-body h4{margin-top:1.5rem;margin-bottom:1rem;font-weight:300;line-height:1.5}.markdown-body h4{font-size:1.6rem}@media screen and (max-width:768px){.markdown-body h4{font-size:1.4rem}}.yun-icon-btn{background-color:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border:none;width:3rem;height:3rem;border-radius:50%;transition:background-color var(--va-transition-duration)}.yun-icon-btn div{font-size:1.2rem}.yun-icon-btn:hover{background-color:rgba(var(--va-c-primary-rgb),.08)}.yun-icon-btn:active{background-color:rgba(var(--va-c-primary-rgb),.16)}.markdown-body{--smc-font-family:var(--va-font-sans);--c-toc-link:var(--va-c-text-light)}.markdown-body{word-wrap:break-word}.markdown-body h4{font-family:var(--va-font-serif);font-weight:900}.markdown-body ol li{list-style:decimal}.markdown-body img{margin:.5rem auto;height:auto;max-width:min(92%,800px)}.markdown-body p{overflow:unset}.markdown-body hr{opacity:.6;height:2px;border-top-width:0;background-color:var(--va-c-text)}html:not(.dark) .vp-code span{color:var(--shiki-light,inherit)}:root{--va-custom-block-font-size:14px;--va-custom-block-code-font-size:13px;--va-custom-block-info-border:transparent;--va-custom-block-info-text:var(--va-c-text-1);--va-custom-block-info-bg:var(--va-c-default-soft);--va-custom-block-info-code-bg:var(--va-c-default-soft);--va-custom-block-tip-border:transparent;--va-custom-block-tip-text:var(--va-c-text-1);--va-custom-block-tip-bg:var(--va-c-brand-soft);--va-custom-block-tip-code-bg:var(--va-c-brand-soft);--va-custom-block-warning-border:transparent;--va-custom-block-warning-text:var(--va-c-text-1);--va-custom-block-warning-bg:var(--va-c-warning-soft);--va-custom-block-warning-code-bg:var(--va-c-warning-soft);--va-custom-block-danger-border:transparent;--va-custom-block-danger-text:var(--va-c-text-1);--va-custom-block-danger-bg:var(--va-c-danger-soft);--va-custom-block-danger-code-bg:var(--va-c-danger-soft);--va-custom-block-details-border:var(--va-custom-block-info-border);--va-custom-block-details-text:var(--va-custom-block-info-text);--va-custom-block-details-bg:var(--va-custom-block-info-bg);--va-custom-block-details-code-bg:var(--va-custom-block-info-code-bg)}:root{--yun-post-card-max-width:900px;--yun-c-cloud:white;--yun-z-toc-btn:7;--yun-z-cloud:7;--yun-z-go-down:9;--yun-z-backdrop:9;--yun-z-sidebar:10;--yun-z-fireworks:11;--yun-z-menu-btn:20;--yun-z-go-up-btn:20;--yun-z-search-popup:30;--yun-z-search-btn:31;--va-z-overlay:var(--yun-z-backdrop)}:root{--yun-bg-img:url(/assets/bg-img-kXdNMxcF.jpg);--yun-sidebar-bg-color:var(--va-c-bg-light);--yun-sidebar-bg-img:url(/assets/sidebar-bg-img-mp54gEws.webp)}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-scroll-snap-strictness:proximity;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5)}[i-ri-archive-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.002a.996.996 0 0 1-.993.998H3.993A.996.996 0 0 1 3 20.002zm16 0H5v9h14zM4 5v3h16V5zm5 7h6v2H9z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-arrow-left-s-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m10.828 12l4.95 4.95l-1.414 1.415L8 12l6.364-6.364l1.414 1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-arrow-right-s-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-arrow-up-s-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m12 10.828l-4.95 4.95l-1.414-1.414L12 8l6.364 6.364l-1.414 1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-calendar-2-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM8 13v2H6v-2zm5 0v2h-2v-2zm5 0v2h-2v-2zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-calendar-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}.i-ri-cloud-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 2a7 7 0 0 1 6.992 7.339A6 6 0 0 1 17 21H7A6 6 0 0 1 5.008 9.339A7 7 0 0 1 12 2m0 2a5 5 0 0 0-4.994 5.243l.07 1.488l-1.404.494A4.002 4.002 0 0 0 7 19h10a4 4 0 1 0-3.796-5.265l-1.898-.633A6.003 6.003 0 0 1 17 9a5 5 0 0 0-5-5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-file-list-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 22H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1m-1-2V4H5v16zM8 7h8v2H8zm0 4h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-file-word-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M16 8v8h-2l-2-2l-2 2H8V8h2v5l2-2l2 2V8h1V4H5v16h14V8zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-folder-2-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM20 11H4v8h16zm0-2V7h-8.414l-2-2H4v4z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}.i-ri-gallery-line{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M20 13c-1.678 0-3.249.46-4.593 1.259A14.984 14.984 0 0 1 18.147 19H20zm-3.996 6C14.044 14.302 9.408 11 4 11v8zM4 9c3.83 0 7.323 1.435 9.974 3.796A10.949 10.949 0 0 1 20 11V3h1.008c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3H6V1h2v4H4zm14-8v4h-8V3h6V1zm-1.5 9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-home-4-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 21H5a1 1 0 0 1-1-1v-9H1l10.327-9.388a1 1 0 0 1 1.346 0L23 11h-3v9a1 1 0 0 1-1 1m-6-2h5V9.157l-6-5.454l-6 5.454V19h5v-6h2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}.i-ri-link{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 0 0-7.071-7.071L9.878 7.05L8.464 5.636l1.414-1.414a7 7 0 0 1 9.9 9.9zm-2.829 2.828l-1.414 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 0 0 7.07 7.071l1.415-1.414zm-.707-10.607l1.415 1.415l-7.072 7.07l-1.414-1.414z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-price-tag-3-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m10.904 2.1l9.9 1.414l1.414 9.9l-9.192 9.192a1 1 0 0 1-1.415 0l-9.9-9.9a1 1 0 0 1 0-1.413zm.707 2.122L3.833 12l8.485 8.485l7.779-7.778l-1.061-7.425zm2.122 6.363a2 2 0 1 1 2.828-2.828a2 2 0 0 1-2.828 2.829'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-search-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m18.031 16.617l4.283 4.282l-1.415 1.415l-4.282-4.283A8.96 8.96 0 0 1 11 20c-4.968 0-9-4.032-9-9s4.032-9 9-9s9 4.032 9 9a8.96 8.96 0 0 1-1.969 5.617m-2.006-.742A6.977 6.977 0 0 0 18 11c0-3.867-3.133-7-7-7s-7 3.133-7 7s3.133 7 7 7a6.977 6.977 0 0 0 4.875-1.975z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-timer-line=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m17.618 5.968l1.453-1.453l1.414 1.414l-1.453 1.453A9 9 0 1 1 12 4c2.125 0 4.078.736 5.618 1.968M12 20a7 7 0 1 0 0-14a7 7 0 0 0 0 14M11 8h2v6h-2zM8 1h8v2H8z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i-ri-translate=""]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M5 15v2a2 2 0 0 0 1.85 1.994L7 19h3v2H7a4 4 0 0 1-4-4v-2zm13-5l4.4 11h-2.155l-1.201-3h-4.09l-1.199 3h-2.154L16 10zm-1 2.885L15.753 16h2.492zM8 2v2h4v7H8v3H6v-3H2V4h4V2zm9 1a4 4 0 0 1 4 4v2h-2V7a2 2 0 0 0-2-2h-3V3zM6 6H4v3h2zm4 0H8v3h2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}[i~=ri-sun-line]{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M12 18a6 6 0 1 1 0-12a6 6 0 0 1 0 12m0-2a4 4 0 1 0 0-8a4 4 0 0 0 0 8M11 1h2v3h-2zm0 19h2v3h-2zM3.515 4.929l1.414-1.414L7.05 5.636L5.636 7.05zM16.95 18.364l1.414-1.414l2.121 2.121l-1.414 1.414zm2.121-14.85l1.414 1.415l-2.121 2.121l-1.414-1.414zM5.636 16.95l1.414 1.414l-2.121 2.121l-1.414-1.414zM23 11v2h-3v-2zM4 11v2H1v-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1.2em;height:1.2em}.yun-card{margin:auto;--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:var(--va-transition-duration)}.flex-center{display:flex;align-items:center;justify-content:center}.inline-flex-center{display:inline-flex;align-items:center;justify-content:center}.va-card{background-color:var(--va-c-bg-light);--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.va-card:hover,.yun-card:hover{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}@media (max-width:767.9px){.yun-main{padding-left:0}}[absolute=""]{position:absolute}.fixed{position:fixed}.relative{position:relative}[start~="2"]{inset-inline-start:.5rem}[start~="3"]{inset-inline-start:.75rem}.inset-y-0{top:0;bottom:0}[bottom-0=""]{bottom:0}.left-0,[left-0=""]{left:0}.left-0\.8rem{left:.8rem}[right-0=""]{right:0}[top-0=""]{top:0}.top-0\.6rem{top:.6rem}[bottom~="19"]{bottom:4.75rem}[right~="2"]{right:.5rem}.z-1{z-index:1}[z-10=""]{z-index:10}.z-350{z-index:350}[z~="$yun-z-menu-btn"]{z-index:var(--yun-z-menu-btn)}[z~="$yun-z-sidebar"]{z-index:var(--yun-z-sidebar)}[m~="0"]{margin:0}[m~="2"]{margin:.5rem}[m~=y-4]{margin-top:1rem;margin-bottom:1rem}.my-1,[my~="1"]{margin-top:.25rem;margin-bottom:.25rem}[m~=x-1]{margin-left:.25rem;margin-right:.25rem}[mx~="2"],[m~=x-2]{margin-left:.5rem;margin-right:.5rem}[m~=y-2]{margin-top:.5rem;margin-bottom:.5rem}[m~=b-4]{margin-bottom:1rem}.mb-2,[m~=b-2]{margin-bottom:.5rem}[m~=l-1]{margin-left:.25rem}[m~=t-4]{margin-top:1rem}[mt-6=""],[m~=t-6]{margin-top:1.5rem}[m~=l-4]{margin-left:1rem}[m~=t-0]{margin-top:0}[m~=t-16]{margin-top:4rem}[mt~="2"]{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.h-8,[h~="8"]{height:2rem}[h~="5"]{height:1.25rem}.w-8,[w~="8"]{width:2rem}[w~=full]{width:100%}[h~="7"]{height:1.75rem}[min-h~="100px"]{min-height:100px}.flex,[flex=""],[flex~="~"]{display:flex}.inline-flex,[inline-flex=""]{display:inline-flex}[flex~="1"]{flex:1 1 0%}.flex-grow,[flex~=grow]{flex-grow:1}[flex~=col]{flex-direction:column}[flex~=wrap]{flex-wrap:wrap}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}[cursor~=pointer]{cursor:pointer}.items-center,[items-center=""],[items~=center]{align-items:center}[justify~=end]{justify-content:flex-end}.justify-center,[justify~=center]{justify-content:center}.gap-2{gap:.5rem}[gap~="1"]{gap:.25rem}[overflow~=auto]{overflow:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[border=""]{border-width:1px}.border-\$va-c-divider{border-color:var(--va-c-divider)}.hover\:border-blue-500:hover{--un-border-opacity:1;border-color:rgb(59 130 246 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-full,[rounded-full=""]{border-radius:9999px}[bg~="$va-c-bg-light"]{background-color:var(--va-c-bg-light)}[bg~="$va-c-bg"]{background-color:var(--va-c-bg)}[bg~="$yun-sidebar-bg-color"]{background-color:var(--yun-sidebar-bg-color)}[bg~=contain]{background-size:contain}[bg~=no-repeat]{background-repeat:no-repeat}[stroke-width~="2"]{stroke-width:2px}.p-4,[p~="4"]{padding:1rem}[p~="1"]{padding:.25rem}[p~="2"]{padding:.5rem}[px-2=""]{padding-left:.5rem;padding-right:.5rem}[p~=x-4]{padding-left:1rem;padding-right:1rem}[py~="1"]{padding-top:.25rem;padding-bottom:.25rem}[p~=b-8]{padding-bottom:2rem}[p~=l-4]{padding-left:1rem}[text~=center]{text-align:center}[text~="2xl"]{font-size:1.5rem;line-height:2rem}[text-xl=""]{font-size:1.25rem;line-height:1.75rem}.text-xs,[text~=xs]{font-size:.75rem;line-height:1rem}[text~=sm]{font-size:.875rem;line-height:1.25rem}.text-\$va-c-text-light{color:var(--va-c-text-light)}.hover\:text-blue-500:hover{--un-text-opacity:1;color:rgb(59 130 246 / var(--un-text-opacity))}[font~=black]{font-weight:900}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}[op~="20"]{opacity:.2}[op~="80"]{opacity:.8}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / .1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[font~=serif]{font-family:var(--va-font-serif)}@media (max-width:767.9px){.lt-md\:ml-0{margin-left:0}[p~="lt-md:0"]{padding:0}}@media (min-width:640px){.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:hidden{display:none}.md\:translate-x-0{--un-translate-x:0;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.md\:pl-\$va-sidebar-width{padding-left:var(--va-sidebar-width)}}@media (min-width:1024px){.lg\:px-12{padding-left:3rem;padding-right:3rem}}@media (min-width:1280px){.xl\:hidden{display:none}.xl\:px-16{padding-left:4rem;padding-right:4rem}}.post-copyright{font-size:.9rem;padding:.5rem 1rem;border-left:4px solid #ff5252;background-color:var(--va-c-bg-dark);list-style:none;word-break:break-all;position:relative;overflow:hidden}.post-copyright:after{pointer-events:none;position:absolute;color:#fff;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath fill='gray' d='M245.8 214.9l-33.2 17.3c-9.4-19.6-25.2-20-27.4-20-22.2 0-33.3 14.6-33.3 43.9 0 23.5 9.2 43.8 33.3 43.8 14.4 0 24.6-7 30.5-21.3l30.6 15.5a73.2 73.2 0 01-65.1 39c-22.6 0-74-10.3-74-77 0-58.7 43-77 72.6-77 30.8-.1 52.7 11.9 66 35.8zm143 0l-32.7 17.3c-9.5-19.8-25.7-20-27.9-20-22.1 0-33.2 14.6-33.2 43.9 0 23.5 9.2 43.8 33.2 43.8 14.5 0 24.7-7 30.5-21.3l31 15.5c-2 3.8-21.3 39-65 39-22.7 0-74-9.9-74-77 0-58.7 43-77 72.6-77C354 179 376 191 389 214.8zM247.7 8C104.7 8 0 123 0 256c0 138.4 113.6 248 247.6 248C377.5 504 496 403 496 256 496 118 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.5 85.5-203.3 203.8-203.3A201.7 201.7 0 01451.3 256c0 121.7-99.7 202.9-202.9 202.9z'/%3E%3C/svg%3E");content:" ";height:10rem;width:10rem;right:-2rem;top:-2rem;opacity:.1}.va-toc[data-v-1be60094]{text-align:left}.content[data-v-1be60094]{position:relative;padding-left:16px;font-size:14px;text-align:left}.outline-marker[data-v-1be60094]{position:absolute;top:32px;left:-2px;z-index:0;opacity:0;width:4px;height:18px;background-color:var(--va-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s;border-top-right-radius:2px;border-bottom-right-radius:2px}.outline-title[data-v-1be60094]{letter-spacing:.4px;line-height:28px;font-size:14px;font-weight:600}.visually-hidden[data-v-1be60094]{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.yun-aside{position:fixed;right:0;top:0;bottom:0;width:var(--va-sidebar-width,300px);transform:translate(100%);transition:box-shadow var(--va-transition-duration),background-color var(--va-transition-duration),opacity .25s,transform var(--va-transition-duration) cubic-bezier(.19,1,.22,1)}@media screen and (min-width:1280px){.yun-aside{transform:translate(0)}}.toc-btn{color:var(--va-c-primary);background-color:#fff;z-index:var(--yun-z-toc-btn)}:root{--waline-font-size:1rem;--waline-white:#fff;--waline-light-grey:#999;--waline-dark-grey:#666;--waline-theme-color:#27ae60;--waline-active-color:#2ecc71;--waline-color:#444;--waline-bg-color:#fff;--waline-bg-color-light:#f8f8f8;--waline-bg-color-hover:#f0f0f0;--waline-border-color:#ddd;--waline-disable-bg-color:#f8f8f8;--waline-disable-color:#000;--waline-code-bg-color:#282c34;--waline-bq-color:#f0f0f0;--waline-avatar-size:3.25rem;--waline-m-avatar-size:calc(var(--waline-avatar-size) * 9 / 13);--waline-badge-color:#3498db;--waline-badge-font-size:.75em;--waline-info-bg-color:#f8f8f8;--waline-info-color:#999;--waline-info-font-size:.625em;--waline-border:1px solid var(--waline-border-color);--waline-avatar-radius:50%;--waline-box-shadow:none}:root{--waline-theme-color:var(--va-c-primary);--waline-active-color:var(--va-c-primary-light)}.post-nav{display:flex;justify-content:space-between;align-items:center}.post-nav-item{display:inline-flex;justify-content:center;align-items:center;color:var(--va-c-primary);outline:0;font-size:1.5rem;font-weight:700;text-transform:uppercase;height:3rem;transition:.4s}.post-nav-item:hover{background-color:rgba(var(--va-c-primary-rgb),.1);box-shadow:0 0 15px #0000001a}.post-nav-prev{padding:0 .6rem 0 .1rem}.post-nav-next{padding:0 .1rem 0 .6rem}.post-nav-next,.post-nav-prev{display:inline-flex;align-items:center;height:3rem;font-size:1rem}.post-nav-next .title,.post-nav-prev .title{overflow:hidden;max-width:10rem}.post-nav-next .icon,.post-nav-prev .icon{width:1.2rem;height:1.2rem}@media screen and (min-width:1024px){.post-nav-next .title,.post-nav-prev .title{max-width:18rem}}@media screen and (min-width:1280px){.content{max-width:calc(100vw - 2 * var(--va-sidebar-width) - 1rem - 8px)}}</style><link rel="preload" crossorigin href="/assets/app-BP5ygD_Z.css" as="style"><link rel="modulepreload" crossorigin href="/assets/post-CScGgG1z.js"><link rel="preload" href="/assets/post-gQpphGKg.css" as="style"><link rel="modulepreload" crossorigin href="/assets/Linux2023-9-18作业-lGpAZg7U.js"><link rel="modulepreload" crossorigin href="/assets/ValaxyMain.vue_vue_type_style_index_0_lang-YiCZXYPB.js"><link rel="preload" href="/assets/ValaxyMain-CktzebkI.css" as="style"><title>Linux2023-9-18作业 - 渡世之舟</title><link rel="icon" href="/images/wztb.ico" type="image/png"><meta name="theme-color" content="#ffffff"><meta name="msapplication-TileColor" content="#ffffff"><meta name="generator" content="Valaxy 0.18.6"><meta property="og:locale:alternate" content="en"><meta name="description" content="I walk in the rain, and my umbrella is a boat that rows backwards in the sky."><meta property="og:description" content="I walk in the rain, and my umbrella is a boat that rows backwards in the sky."><meta property="og:locale" content="zh-CN"><meta property="og:site_name" content="渡世之舟"><meta property="og:title" content="Linux2023-9-18作业"><meta property="og:image" content="/images/wztb.ico"><meta property="og:type" content="website"><meta property="og:url" content="https://yunyat.cloud/"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@900&amp;display=swap"></head><body><div id="app" data-server-rendered="true"><!--[--><!--[--><canvas class="fireworks"></canvas><!--[--><div class="yun-bg"></div><!--]--><!--[--><button class="yun-search-btn popup-trigger yun-icon-btn" title="搜索"><div i-ri-search-line></div></button><!----><!--]--><div class="yun-page-loading" absolute left-0 right-0 bottom-0 top-0 flex justify="center" items-center z-10 bg="$va-c-bg" data-v-f73920ce><div class="spinner" data-v-f73920ce></div></div><a href="#" class="back-to-top yun-icon-btn"><div w="8" h="8" i-ri-arrow-up-s-line></div><svg class="progress-circle-container" viewBox="0 0 100 100"><circle stroke-dasharray="301.59289474462014 301.59289474462014" stroke-dashoffset="301.59289474462014" class="progress-circle" cx="50" cy="50" r="48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg></a><!--]--><!--[--><!--]--><!----><!--[--><!--[--><!----><button type="button" class="vt-hamburger menu-btn sidebar-toggle yun-icon-btn leading-4 fixed left-0.8rem top-0.6rem md:hidden" aria-label="mobile navigation" aria-expanded="false" inline-flex cursor="pointer" z="$yun-z-menu-btn"><span class="vt-hamburger-container"><span class="vt-hamburger-top"></span><span class="vt-hamburger-middle"></span><span class="vt-hamburger-bottom"></span></span></button><aside class="md:translate-x-0 va-card transition sidebar fixed inset-y-0 left-0 overflow-y-auto" text="center" bg="$yun-sidebar-bg-color contain no-repeat" z="$yun-z-sidebar"><!----><div class><!--[--><div class="sidebar-panel" p="2"><div class="site-info" m="t-6"><a href="/about" class="site-author-avatar"><img class="rounded-full" src="/images/wa.jpg" alt="avatar"><span class="site-author-status" title="The moonlight is beautiful.">🌌</span></a><div class="site-author-name leading-6" m="t-0 b-4"><a href="/about" class>清天</a></div><a href="/about/site" class="site-name">渡世之舟</a><h4 class="site-subtitle block" text="xs">于暴雨中行走，伞是倒划天空的船</h4><div class="site-description my-1">I walk in the rain, and my umbrella is a boat that rows backwards in the sky.</div></div><nav class="site-nav" text-xl mt-6><a href="/" class="site-link-item yun-icon-btn" title="首页"><div i-ri-home-4-line></div></a><a href="/archives/" class="site-link-item" title="归档"><div class="icon" i-ri-archive-line></div><span class="count">50</span></a><a href="/categories/" class="site-link-item" title="分类"><div class="icon" i-ri-folder-2-line></div><span class="count">11</span></a><a href="/tags/" class="site-link-item" title="标签"><div class="icon" i-ri-price-tag-3-line></div><span class="count">44</span></a><a class="site-link-item yun-icon-btn" title="关于" href="https://yunyat.cloud/about" target="_blank"><!--[--><div class="svg-spinners:blocks-shuffle-2"></div><!--]--><!----></a></nav><hr m="t-4 b-2" op="20"><div class="links-of-author"><!--[--><a class="links-of-author-item yun-icon-btn" rel="noopener" href="https://github.com/Zero-Ql" title="GitHub" target="_blank" style="color:#6e5494"><div class="ri:github-line icon"></div></a><a class="links-of-author-item yun-icon-btn" rel="noopener" href="https://space.bilibili.com/399846312?spm_id_from=333.1007.0.0" title="哔哩哔哩" target="_blank" style="color:#ff8eb3"><div class="ri:bilibili-line icon"></div></a><a class="links-of-author-item yun-icon-btn" rel="noopener" href="mailto:qingtian03111@gmail.com" title="E-Mail" target="_blank" style="color:#8e71c1"><div class="ri:mail-line icon"></div></a><a class="links-of-author-item yun-icon-btn" rel="noopener" href="https://www.travellings.cn/go.html" title="开往" target="_blank" style="color:var(--va-c-text)"><div class="ion:md-train icon"></div></a><!--]--></div><hr m="y-2" op="20"><div class="links flex-center"><!--[--><a href="/links/" class="link-item yun-icon-btn" inline-flex title="友链" style="color:#1e90ff"><!--[--><div class="i-ri-link icon w-8 h-8"></div><!--]--></a><a href="/albums/" class="link-item yun-icon-btn" inline-flex title="相册" style="color:#f2bc57"><!--[--><div class="i-ri-gallery-line icon w-8 h-8"></div><!--]--></a><!--]--></div><br></div><div><button class="yun-icon-btn" title="切换深色模式" style="color:#f1cb64"><div i="ri-sun-line dark:ri-moon-line"></div></button><button class="yun-icon-btn" title="切换语言" style="color:var(--va-c-text)"><div i-ri-translate class="transition transform"></div></button></div><!--]--></div></aside><!--]--><main class="yun-main md:pl-$va-sidebar-width lt-md:ml-0" flex="~"><div w="full" flex="~"><!--[--><div class="content" flex="~ col grow" w="full" p="l-4 lt-md:0"><div class="yun-card flex-center rounded relative" flex="col" min-h="100px" bg="$va-c-bg-light" m="0" style><!----><!----><!--[--><!--[--><header class="post-header mb-2" m="t-16 sm:t-6"><h1 class="post-title flex-center" p="2" text="2xl center" font="serif black" style=""><!----><span inline-flex class="leading-none">Linux2023-9-18作业</span></h1></header><!--]--><!--[--><!--[--><!--[--><!----><!----><!----><div class="post-meta" flex="~ col" justify="center" items="center" text="sm" py="1"><div class="post-time flex items-center"><span class="posted-time inline-flex-center" title="发表于2023-09-18T14:40:30.000Z"><div class="inline-block" i-ri-calendar-line></div><time m="l-1">2023-09-18</time></span><span class="edited-time inline-flex-center" title="更新于2023-09-18T08:29:31.455Z"><span m="x-2">-</span><div i-ri-calendar-2-line></div><time m="l-1">2023-09-18</time></span></div><div class="post-counter flex items-center" mt="2"><span class="word-count inline-flex-center" title="本文字数"><div class="inline-block" i-ri-file-word-line></div><span m="l-1">682</span></span><span class="reading-time inline-flex-center" title="阅读时长"><span m="x-2">-</span><div i-ri-timer-line></div><time m="l-1">3m</time></span></div></div><!--[--><span id="busuanzi_container_page_pv">本文总阅读量 <span id="busuanzi_value_page_pv"></span> 次 </span><!--]--><!--]--><div flex="~" text="sm" my="1" h="5"><!----><!----></div><div class="inline-flex" text="sm" py="1"><a href="/categories?category=%E7%BC%96%E7%A8%8B%E6%8A%80%E5%B7%A7" class="transition post-category inline-flex-center text-xs border-$va-c-divider hover:text-blue-500 hover:border-blue-500" px-2 h="7" border rounded-full bg="hover:blue-500 hover:opacity-10"><div m="x-1" inline-flex i-ri-folder-2-line></div><span>编程技巧</span></a><span mx="2"></span><div class="post-tags inline-flex" items="center" gap="1" flex="wrap 1" justify="end"><!--[--><a href="/tags/?tag=Linux" class="transition post-tag inline-flex-center text-xs border-$va-c-divider hover:text-blue-500 hover:border-blue-500" px-2 h="7" rounded-full border bg="hover:blue-500 hover:opacity-10"><span>Linux</span></a><a href="/tags/?tag=%E5%8E%9F%E5%88%9B" class="transition post-tag inline-flex-center text-xs border-$va-c-divider hover:text-blue-500 hover:border-blue-500" px-2 h="7" rounded-full border bg="hover:blue-500 hover:opacity-10"><span>原创</span></a><!--]--></div></div><!--]--><!--]--><div p="x-4 b-8" class="sm:px-6 lg:px-12 xl:px-16" w="full"><!--[--><!-- <Transition appear> --><article class="markdown-body"><!--[--><!----><blockquote class="yun-time-warning" op="80">本文最后更新于7 个月前，文中所描述的信息可能已发生改变。</blockquote><!--[--><blockquote><p>题目要求：</p><p>1、破解centos7操作系统密码为flectrag</p><p>2、查找系统中文件，要求将文件大小大于5M小于10M的文件查找出来放置/findfile目录下</p><p>3、查找文件/usr/share/xml/iso-codes/iso_639_3.xml中包含字符串ng的所有行。 将所有这些行的副本按原始顺序放在文件/root/list中。/root/list不得包含空行， 且所有行必须是/usr/share/xml/iso-codes/iso_639_3.xml中原始行的确切副本</p><p>4、新建用户student，设置密码为flectrag</p><p>5、修改student用户策略，允许student组成员sudo时不需要密码</p></blockquote><hr><h4 id="_1-0-破解-centos7-操作系统的-root-用户密码" tabindex="-1">1.0 破解 centos7 操作系统的 root 用户密码 <a class="header-anchor" href="#_1-0-破解-centos7-操作系统的-root-用户密码" aria-label="Permalink to &quot;1.0 破解 centos7 操作系统的 root 用户密码&quot;">​</a></h4><ol><li>先重启虚拟机，在如下图的界面按 e 键进入 edit</li></ol><figure><img src="https://z1.ax1x.com/2023/09/18/pP4i8FH.jpg" alt="pP4i8FH.jpg" loading="lazy" decoding="async"></figure><figure><img src="https://z1.ax1x.com/2023/09/18/pP4iJfA.jpg" alt="pP4iJfA.jpg" loading="lazy" decoding="async"></figure><ol start="2"><li>找到 linux16 字段，把里面的 <code>ro rhgb quiet</code> 改为 <code>rw init=/bin/sh</code>，之后按 ctrl+x 进入单用户模式</li></ol><figure><img src="https://z1.ax1x.com/2023/09/18/pP4iNlt.jpg" alt="pP4iNlt.jpg" loading="lazy" decoding="async"></figure><figure><img src="https://z1.ax1x.com/2023/09/18/pP4itSI.jpg" alt="pP4itSI.jpg" loading="lazy" decoding="async"></figure><ol start="3"><li>在该模式下输入 <code>passwd root</code> 来更改 root 密码，之后输入 touch /.autorelabel 创建文件，然后输入 exec /sbin/init 正常启动 init 进程即可</li></ol><figure><img src="https://z1.ax1x.com/2023/09/18/pP4iGYd.jpg" alt="pP4iGYd.jpg" loading="lazy" decoding="async"></figure><h4 id="_2-0-查找文件1" tabindex="-1">2.0 查找文件1 <a class="header-anchor" href="#_2-0-查找文件1" aria-label="Permalink to &quot;2.0 查找文件1&quot;">​</a></h4><ol><li>首先要在根目录创建一个 <code>findfile</code> 文件夹，然后使用下面的命令来查找并复制</li></ol><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">mkdir</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> /findfile</span></span></code></pre><button class="collapse"></button></div><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">find</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> .</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -type</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> f</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -size</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> +5M</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -size</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -10M</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -exec</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> cp</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> {}</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> /findfile</span><span style="--shiki-light:#90A4AE;--shiki-dark:#EEFFFF"> \;</span></span></code></pre><button class="collapse"></button></div><figure><img src="https://z1.ax1x.com/2023/09/18/pP4kyMq.png" alt="pP4kyMq.png" loading="lazy" decoding="async"></figure><ol start="2"><li>可以使用 <code>ll</code> 命令验证大小</li></ol><figure><img src="https://z1.ax1x.com/2023/09/18/pP4ApQI.png" alt="pP4ApQI.png" loading="lazy" decoding="async"></figure><h4 id="_3-0-查找文件2" tabindex="-1">3.0 查找文件2 <a class="header-anchor" href="#_3-0-查找文件2" aria-label="Permalink to &quot;3.0 查找文件2&quot;">​</a></h4><ol><li>先在用户的家目录下用 <code>touch</code> 命令创建 <code>list</code> 文件，然后使用下面的命令完成要求，最后使用 <code>cat list</code> 来验证</li></ol><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">touch</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> list</span></span></code></pre><button class="collapse"></button></div><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">grep</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> "</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D">ng</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF">"</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> /usr/share/xml/iso-codes/iso_639_3.xml</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> |</span><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B"> tr</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -d</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> '</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D">\r</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF">'</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> &gt;</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> /root/list</span></span></code></pre><button class="collapse"></button></div><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">cat</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> list</span></span></code></pre><button class="collapse"></button></div><figure><img src="https://z1.ax1x.com/2023/09/18/pP4AGY4.png" alt="pP4AGY4.png" loading="lazy" decoding="async"></figure><h4 id="_4-0-创建用户" tabindex="-1">4.0 创建用户 <a class="header-anchor" href="#_4-0-创建用户" aria-label="Permalink to &quot;4.0 创建用户&quot;">​</a></h4><ol><li>使用下面的命令创建 student 用户并指定其密码，使用普通用户 sir 登录测试</li></ol><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">useradd</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> -p</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> $(</span><span style="--shiki-light:#E2931D;--shiki-dark:#FFCB6B">openssl</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> passwd -1 flectrag</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF">)</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> student</span></span></code></pre><button class="collapse"></button></div><figure><img src="https://z1.ax1x.com/2023/09/18/pP4e3uR.png" alt="pP4e3uR.png" loading="lazy" decoding="async"></figure><h4 id="_5-0-修改用户策略" tabindex="-1">5.0 修改用户策略 <a class="header-anchor" href="#_5-0-修改用户策略" aria-label="Permalink to &quot;5.0 修改用户策略&quot;">​</a></h4><ol><li>先使用下面的命令将 student 用户添加到 /etc/sudoers 文件中</li></ol><div style="max-height:300px" class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes material-theme-lighter material-theme-darker vp-code"><code v-pre><span class="line"><span style="--shiki-light:#6182B8;--shiki-dark:#82AAFF">echo</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> "</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D">%student ALL=(ALL) NOPASSWD: ALL</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF">"</span><span style="--shiki-light:#39ADB5;--shiki-dark:#89DDFF"> &gt;&gt;</span><span style="--shiki-light:#91B859;--shiki-dark:#C3E88D"> /etc/sudoers</span></span></code></pre><button class="collapse"></button></div><p>然后切换到 student 用户，之后使用 sudo passwd root 来试着更改 root 用户的密码，可以看到，可以直接更改，不需要输入密码，然后切到 sir 普通用户，同样试着更改 root 用户的密码，可以看到，无法更改</p><figure><img src="https://z1.ax1x.com/2023/09/18/pP4e8D1.png" alt="pP4e8D1.png" loading="lazy" decoding="async"></figure><hr><p>END</p><!--]--><!--[--><!--]--><!--]--><!----><!----></article><!-- </Transition> --><!--]--><!--[--><!--[--><!--v-if--><ul class="post-copyright" m="y-4"><li class="post-copyright-author"><strong>本文作者：</strong><span>清天</span></li><li class="post-copyright-link"><strong>本文链接：</strong><a href="https://yunyat.cloud/posts/Linux2023-9-18%E4%BD%9C%E4%B8%9A" target="_blank" title="本文链接">https://yunyat.cloud/posts/Linux2023-9-18作业</a></li><li class="post-copyright-license"><strong>版权声明：</strong><span>本博客所有文章除特别声明外，均默认采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh" target="_blank" rel="noopener" title="CC BY-NC-SA 4.0 ">CC BY-NC-SA</a> 许可协议。</span></li></ul><!--]--><!--]--></div><!--]--><!----></div><!--[--><!--]--><!--[--><div class="post-nav"><div class="post-nav-item"><a href="/posts/%E4%BD%BF%E7%94%A8cAdvisor-Prometheus-Grafana%E7%9B%91%E6%8E%A7Docker%E5%AE%B9%E5%99%A8" class="post-nav-prev" title="使用cAdvisor+Prometheus+Grafana监控Docker容器"><div class="icon" i-ri-arrow-left-s-line></div><span class="title truncate" text="sm">使用cAdvisor+Prometheus+Grafana监控Docker容器</span></a></div><div class="post-nav-item"><a href="/posts/%E8%B0%88%E8%B0%88%E7%9C%8B%E5%AE%8C%E3%80%8A%E5%AD%A4%E6%B3%A8%E4%B8%80%E6%8E%B7%E3%80%8B%E7%9A%84%E6%84%9F%E6%83%B3" class="post-nav-next" title="谈谈看完《孤注一掷》的感想"><span class="title truncate" text="sm">谈谈看完《孤注一掷》的感想</span><div class="icon" i-ri-arrow-right-s-line></div></a></div></div><!--]--><!--[--><!--]--><!--[--><div class="yun-card flex-center rounded comment yun-comment sm:p-6 lg:px-12 xl:px-16" flex="col" min-h="100px" bg="$va-c-bg-light" w="full" p="4"><!----><!----><!--[--><!----><!--]--><!----></div><!--]--><!--[--><!--]--><footer class="va-footer p-4 text-$va-c-text-light" text="center sm"><!----><div class="copyright flex justify-center items-center gap-2" p="1"><span>©<!--[--> 2023 -<!--]--> 2024</span><a class="animate-pulse inline-flex" href="https://sponsors.yunyoujun.cn" target="_blank" title="Sponsor YunYouJun"><div class="i-ri-cloud-line"></div></a><span>清天</span></div><div class="powered" m="2"><span>由 <a href="https://github.com/YunYouJun/valaxy" target="_blank" rel="noopener">Valaxy</a> v0.18.6 驱动</span> | <span>主题 - <a href="https://github.com/YunYouJun/valaxy/tree/main/packages/valaxy-theme-yun" title="valaxy-theme-yun" target="_blank">Yun</a> v0.18.6</span></div><!--[--><div>本站总访问量 <span id="busuanzi_value_site_pv"></span> 次</div><div>本站访客数 <span id="busuanzi_value_site_uv"></span> 人次</div><!--]--></footer><!--[--><!--]--></div><!--]--><!--[--><!--[--><button class="xl:hidden toc-btn shadow fixed yun-icon-btn z-350" opacity="75" right="2" bottom="19"><div i-ri-file-list-line></div></button><!----><!--  --><aside class="va-card yun-aside" m="l-4" text="center" overflow="auto"><div class="aside-container" flex="~ col"><h2 m="t-6 b-2" font="serif black">文章目录</h2><div style="display:none" data-v-1be60094><div class="content" data-v-1be60094><div class="outline-title" data-v-1be60094>On this page</div><div class="outline-marker" data-v-1be60094></div><nav aria-labelledby="doc-outline-aria-label" data-v-1be60094><span id="doc-outline-aria-label" class="visually-hidden" data-v-1be60094>Table of Contents for current page</span><ul class="root va-toc relative z-1 css-i18n-toc" data-v-1be60094 data-v-e330fdc1><!--[--><!--]--></ul></nav></div></div><div class="flex-grow"></div><div class="custom-container"><!--[--><!--]--></div></div></aside><!--]--><!--]--></div></main><!--]--><!--]--></div><script>window.__INITIAL_STATE__='{"pinia":{"app":{"showLoading":true,"isSidebarOpen":false,"isRightSidebarOpen":false},"site":{},"routerStore":{}}}'</script><script type="application/ld+json" data-hid="3437552">{"@context":"https://schema.org","@graph":[{"@id":"https://yunyat.cloud/#identity","@type":"Person","name":"清天","url":"https://yunyat.cloud/","image":{"@id":"https://yunyat.cloud/#/schema/image/1e2e9d9"},"sameAs":["https://github.com/Zero-Ql","https://space.bilibili.com/399846312?spm_id_from=333.1007.0.0","mailto:qingtian03111@gmail.com","https://www.travellings.cn/go.html"]},{"@id":"https://yunyat.cloud/#website","@type":"WebSite","dateModified":"2023-10-26T11:35:43.041Z","datePublished":"2023-10-26T19:30:24.000Z","inLanguage":"zh-CN","name":"Git的使用","url":"https://yunyat.cloud/","publisher":{"@id":"https://yunyat.cloud/#identity"}},{"@id":"https://yunyat.cloud/#webpage","@type":"WebPage","dateModified":"[object Object]","datePublished":"[object Object]","description":"I walk in the rain, and my umbrella is a boat that rows backwards in the sky.","name":"Linux2023-9-18作业","url":"https://yunyat.cloud/","about":{"@id":"https://yunyat.cloud/#identity"},"isPartOf":{"@id":"https://yunyat.cloud/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://yunyat.cloud/"]}]},{"@id":"https://yunyat.cloud/#article","dateModified":"[object Object]","datePublished":"[object Object]","description":"I walk in the rain, and my umbrella is a boat that rows backwards in the sky.","headline":"Git的使用","inLanguage":"zh-CN","thumbnailUrl":"https://yunyat.cloud/images/wztb.ico","@type":["Article","BlogPosting"],"author":{"@id":"https://yunyat.cloud/#/schema/person/7bf59e6"},"image":{"@id":"https://yunyat.cloud/#/schema/image/2282010"},"isPartOf":{"@id":"https://yunyat.cloud/#webpage"},"mainEntityOfPage":{"@id":"https://yunyat.cloud/#webpage"},"publisher":{"@id":"https://yunyat.cloud/#identity"}},{"@id":"https://yunyat.cloud/#/schema/person/7bf59e6","@type":"Person","name":"清天","url":"https://valaxy.site"},{"@id":"https://yunyat.cloud/#/schema/image/1e2e9d9","@type":"ImageObject","contentUrl":"https://yunyat.cloud/images/wa.jpg","inLanguage":"zh-CN","url":"https://yunyat.cloud/images/wa.jpg"},{"@id":"https://yunyat.cloud/#/schema/image/2282010","@type":"ImageObject","contentUrl":"https://yunyat.cloud/images/wztb.ico","inLanguage":"zh-CN","url":"https://yunyat.cloud/images/wztb.ico"}]}</script><link rel="stylesheet" href="/assets/post-gQpphGKg.css"><link rel="stylesheet" href="/assets/app-BP5ygD_Z.css"><link rel="stylesheet" href="/assets/ValaxyMain-CktzebkI.css"></body></html>